Update product
Menus
Update product
Update a product inside a composed menu from your POS or RMS.
PUT
Update product
Updates a single product within a composed menu. Use this endpoint when your POS or RMS pushes item-level changes — pricing, availability, or channel-specific overrides — into an existing menu without replacing the entire menu payload.
Requires an access token with the
menus:write scope. See
Authorize to obtain a token.Path parameters
| Parameter | Description |
|---|---|
id | External product identifier. Alphanumeric characters, _, and - only. 1–64 characters. |
Request
Product object
| Field | Type | Description |
|---|---|---|
name | string | Display name. 1–100 characters. |
description | string | Optional description. Up to 500 characters. |
image_url | string | Product image URL. |
channels | object | Per-channel, per-store, per-fulfillment pricing and availability. |
overrides | array | Scheduled product changes. |
status | string | ACTIVE or INACTIVE. |
channels
channels
Map of channel codes to channel configuration. Each entry contains
id, uid, name, and a stores map.Each store entry contains id, uid, name, and a fulfillment map keyed by fulfillment type code.Each fulfillment entry requires:| Field | Type | Description |
|---|---|---|
uid | string (UUID) | Fire spark fulfillment identifier. |
id | string | External fulfillment identifier. |
type | string | Fulfillment type code (for example DELIVERY, PICKUP). |
name | string | Display name. |
pricing | object | Contains minimum_quantity and maximum_quantity. |
availability | object | Contains schedules (null when there is no schedule restriction), optional out_of_stock_until, and status (AVAILABLE, UNAVAILABLE, or OUT_OF_STOCK). |
Response
Returns the updated product object indata.
Error responses
| Status | Description |
|---|---|
400 | Validation error. |
401 | Missing or invalid access token. |
403 | Token does not include the menus:write scope. |
404 | No product with this id exists in the menu. |